package com.olympus.hermes.common.utils;

import com.olympus.hermes.common.constants.BaseEnum;
import com.olympus.hermes.common.constants.EnumDict;

import java.util.EnumSet;
import java.util.List;
import java.util.stream.Collectors;

/**
 * 获取枚举列表
 * @author Mickey
 * @since 2021/1/14
 */
public class EnumDictUtils {

    private EnumDictUtils(){}
    public static <T extends Enum<T> & BaseEnum<T>> List<EnumDict> getEnumDicts(Class<T> cls){
        return EnumSet.allOf(cls).stream().map(et -> new EnumDict(et.getName(), et.getCode())).collect(Collectors.toList());
    }
}
